OPENQASM 2.0;
include "qelib1.inc";
qreg q[18];
creg c[18];
creg meas[18];
h q[0];
u1(pi/4) q[1];
cx q[1],q[0];
u1(-pi/4) q[0];
cx q[1],q[0];
u1(pi/4) q[0];
h q[1];
u1(pi/8) q[2];
cx q[2],q[0];
u1(-pi/8) q[0];
cx q[2],q[0];
u1(pi/8) q[0];
u1(pi/4) q[2];
cx q[2],q[1];
u1(-pi/4) q[1];
cx q[2],q[1];
u1(pi/4) q[1];
h q[2];
u1(pi/16) q[3];
cx q[3],q[0];
u1(-pi/16) q[0];
cx q[3],q[0];
u1(pi/16) q[0];
u1(pi/8) q[3];
cx q[3],q[1];
u1(-pi/8) q[1];
cx q[3],q[1];
u1(pi/8) q[1];
u1(pi/4) q[3];
cx q[3],q[2];
u1(-pi/4) q[2];
cx q[3],q[2];
u1(pi/4) q[2];
h q[3];
u1(pi/32) q[4];
cx q[4],q[0];
u1(-pi/32) q[0];
cx q[4],q[0];
u1(pi/32) q[0];
u1(pi/16) q[4];
cx q[4],q[1];
u1(-pi/16) q[1];
cx q[4],q[1];
u1(pi/16) q[1];
u1(pi/8) q[4];
cx q[4],q[2];
u1(-pi/8) q[2];
cx q[4],q[2];
u1(pi/8) q[2];
u1(pi/4) q[4];
cx q[4],q[3];
u1(-pi/4) q[3];
cx q[4],q[3];
u1(pi/4) q[3];
h q[4];
u1(pi/64) q[5];
cx q[5],q[0];
u1(-pi/64) q[0];
cx q[5],q[0];
u1(pi/64) q[0];
u1(pi/32) q[5];
cx q[5],q[1];
u1(-pi/32) q[1];
cx q[5],q[1];
u1(pi/32) q[1];
u1(pi/16) q[5];
cx q[5],q[2];
u1(-pi/16) q[2];
cx q[5],q[2];
u1(pi/16) q[2];
u1(pi/8) q[5];
cx q[5],q[3];
u1(-pi/8) q[3];
cx q[5],q[3];
u1(pi/8) q[3];
u1(pi/4) q[5];
cx q[5],q[4];
u1(-pi/4) q[4];
cx q[5],q[4];
u1(pi/4) q[4];
h q[5];
u1(pi/128) q[6];
cx q[6],q[0];
u1(-pi/128) q[0];
cx q[6],q[0];
u1(pi/128) q[0];
u1(pi/64) q[6];
cx q[6],q[1];
u1(-pi/64) q[1];
cx q[6],q[1];
u1(pi/64) q[1];
u1(pi/32) q[6];
cx q[6],q[2];
u1(-pi/32) q[2];
cx q[6],q[2];
u1(pi/32) q[2];
u1(pi/16) q[6];
cx q[6],q[3];
u1(-pi/16) q[3];
cx q[6],q[3];
u1(pi/16) q[3];
u1(pi/8) q[6];
cx q[6],q[4];
u1(-pi/8) q[4];
cx q[6],q[4];
u1(pi/8) q[4];
u1(pi/4) q[6];
cx q[6],q[5];
u1(-pi/4) q[5];
cx q[6],q[5];
u1(pi/4) q[5];
h q[6];
u1(pi/256) q[7];
cx q[7],q[0];
u1(-pi/256) q[0];
cx q[7],q[0];
u1(pi/256) q[0];
u1(pi/128) q[7];
cx q[7],q[1];
u1(-pi/128) q[1];
cx q[7],q[1];
u1(pi/128) q[1];
u1(pi/64) q[7];
cx q[7],q[2];
u1(-pi/64) q[2];
cx q[7],q[2];
u1(pi/64) q[2];
u1(pi/32) q[7];
cx q[7],q[3];
u1(-pi/32) q[3];
cx q[7],q[3];
u1(pi/32) q[3];
u1(pi/16) q[7];
cx q[7],q[4];
u1(-pi/16) q[4];
cx q[7],q[4];
u1(pi/16) q[4];
u1(pi/8) q[7];
cx q[7],q[5];
u1(-pi/8) q[5];
cx q[7],q[5];
u1(pi/8) q[5];
u1(pi/4) q[7];
cx q[7],q[6];
u1(-pi/4) q[6];
cx q[7],q[6];
u1(pi/4) q[6];
h q[7];
u1(pi/512) q[8];
cx q[8],q[0];
u1(-pi/512) q[0];
cx q[8],q[0];
u1(pi/512) q[0];
u1(pi/256) q[8];
cx q[8],q[1];
u1(-pi/256) q[1];
cx q[8],q[1];
u1(pi/256) q[1];
u1(pi/128) q[8];
cx q[8],q[2];
u1(-pi/128) q[2];
cx q[8],q[2];
u1(pi/128) q[2];
u1(pi/64) q[8];
cx q[8],q[3];
u1(-pi/64) q[3];
cx q[8],q[3];
u1(pi/64) q[3];
u1(pi/32) q[8];
cx q[8],q[4];
u1(-pi/32) q[4];
cx q[8],q[4];
u1(pi/32) q[4];
u1(pi/16) q[8];
cx q[8],q[5];
u1(-pi/16) q[5];
cx q[8],q[5];
u1(pi/16) q[5];
u1(pi/8) q[8];
cx q[8],q[6];
u1(-pi/8) q[6];
cx q[8],q[6];
u1(pi/8) q[6];
u1(pi/4) q[8];
cx q[8],q[7];
u1(-pi/4) q[7];
cx q[8],q[7];
u1(pi/4) q[7];
h q[8];
u1(pi/1024) q[9];
cx q[9],q[0];
u1(-pi/1024) q[0];
cx q[9],q[0];
u1(pi/1024) q[0];
u1(pi/512) q[9];
cx q[9],q[1];
u1(-pi/512) q[1];
cx q[9],q[1];
u1(pi/512) q[1];
u1(pi/256) q[9];
cx q[9],q[2];
u1(-pi/256) q[2];
cx q[9],q[2];
u1(pi/256) q[2];
u1(pi/128) q[9];
cx q[9],q[3];
u1(-pi/128) q[3];
cx q[9],q[3];
u1(pi/128) q[3];
u1(pi/64) q[9];
cx q[9],q[4];
u1(-pi/64) q[4];
cx q[9],q[4];
u1(pi/64) q[4];
u1(pi/32) q[9];
cx q[9],q[5];
u1(-pi/32) q[5];
cx q[9],q[5];
u1(pi/32) q[5];
u1(pi/16) q[9];
cx q[9],q[6];
u1(-pi/16) q[6];
cx q[9],q[6];
u1(pi/16) q[6];
u1(pi/8) q[9];
cx q[9],q[7];
u1(-pi/8) q[7];
cx q[9],q[7];
u1(pi/8) q[7];
u1(pi/4) q[9];
cx q[9],q[8];
u1(-pi/4) q[8];
cx q[9],q[8];
u1(pi/4) q[8];
h q[9];
u1(pi/2048) q[10];
cx q[10],q[0];
u1(-pi/2048) q[0];
cx q[10],q[0];
u1(pi/2048) q[0];
u1(pi/1024) q[10];
cx q[10],q[1];
u1(-pi/1024) q[1];
cx q[10],q[1];
u1(pi/1024) q[1];
u1(pi/512) q[10];
cx q[10],q[2];
u1(-pi/512) q[2];
cx q[10],q[2];
u1(pi/512) q[2];
u1(pi/256) q[10];
cx q[10],q[3];
u1(-pi/256) q[3];
cx q[10],q[3];
u1(pi/256) q[3];
u1(pi/128) q[10];
cx q[10],q[4];
u1(-pi/128) q[4];
cx q[10],q[4];
u1(pi/128) q[4];
u1(pi/64) q[10];
cx q[10],q[5];
u1(-pi/64) q[5];
cx q[10],q[5];
u1(pi/64) q[5];
u1(pi/32) q[10];
cx q[10],q[6];
u1(-pi/32) q[6];
cx q[10],q[6];
u1(pi/32) q[6];
u1(pi/16) q[10];
cx q[10],q[7];
u1(-pi/16) q[7];
cx q[10],q[7];
u1(pi/16) q[7];
u1(pi/8) q[10];
cx q[10],q[8];
u1(-pi/8) q[8];
cx q[10],q[8];
u1(pi/8) q[8];
u1(pi/4) q[10];
cx q[10],q[9];
u1(-pi/4) q[9];
cx q[10],q[9];
u1(pi/4) q[9];
h q[10];
u1(pi/4096) q[11];
cx q[11],q[0];
u1(-pi/4096) q[0];
cx q[11],q[0];
u1(pi/4096) q[0];
u1(pi/2048) q[11];
cx q[11],q[1];
u1(-pi/2048) q[1];
cx q[11],q[1];
u1(pi/2048) q[1];
u1(pi/1024) q[11];
cx q[11],q[2];
u1(-pi/1024) q[2];
cx q[11],q[2];
u1(pi/1024) q[2];
u1(pi/512) q[11];
cx q[11],q[3];
u1(-pi/512) q[3];
cx q[11],q[3];
u1(pi/512) q[3];
u1(pi/256) q[11];
cx q[11],q[4];
u1(-pi/256) q[4];
cx q[11],q[4];
u1(pi/256) q[4];
u1(pi/128) q[11];
cx q[11],q[5];
u1(-pi/128) q[5];
cx q[11],q[5];
u1(pi/128) q[5];
u1(pi/64) q[11];
cx q[11],q[6];
u1(-pi/64) q[6];
cx q[11],q[6];
u1(pi/64) q[6];
u1(pi/32) q[11];
cx q[11],q[7];
u1(-pi/32) q[7];
cx q[11],q[7];
u1(pi/32) q[7];
u1(pi/16) q[11];
cx q[11],q[8];
u1(-pi/16) q[8];
cx q[11],q[8];
u1(pi/16) q[8];
u1(pi/8) q[11];
cx q[11],q[9];
u1(-pi/8) q[9];
cx q[11],q[9];
u1(pi/8) q[9];
u1(pi/4) q[11];
cx q[11],q[10];
u1(-pi/4) q[10];
cx q[11],q[10];
u1(pi/4) q[10];
h q[11];
u1(pi/8192) q[12];
cx q[12],q[0];
u1(-pi/8192) q[0];
cx q[12],q[0];
u1(pi/8192) q[0];
u1(pi/4096) q[12];
cx q[12],q[1];
u1(-pi/4096) q[1];
cx q[12],q[1];
u1(pi/4096) q[1];
u1(pi/2048) q[12];
cx q[12],q[2];
u1(-pi/2048) q[2];
cx q[12],q[2];
u1(pi/2048) q[2];
u1(pi/1024) q[12];
cx q[12],q[3];
u1(-pi/1024) q[3];
cx q[12],q[3];
u1(pi/1024) q[3];
u1(pi/512) q[12];
cx q[12],q[4];
u1(-pi/512) q[4];
cx q[12],q[4];
u1(pi/512) q[4];
u1(pi/256) q[12];
cx q[12],q[5];
u1(-pi/256) q[5];
cx q[12],q[5];
u1(pi/256) q[5];
u1(pi/128) q[12];
cx q[12],q[6];
u1(-pi/128) q[6];
cx q[12],q[6];
u1(pi/128) q[6];
u1(pi/64) q[12];
cx q[12],q[7];
u1(-pi/64) q[7];
cx q[12],q[7];
u1(pi/64) q[7];
u1(pi/32) q[12];
cx q[12],q[8];
u1(-pi/32) q[8];
cx q[12],q[8];
u1(pi/32) q[8];
u1(pi/16) q[12];
cx q[12],q[9];
u1(-pi/16) q[9];
cx q[12],q[9];
u1(pi/16) q[9];
u1(pi/8) q[12];
cx q[12],q[10];
u1(-pi/8) q[10];
cx q[12],q[10];
u1(pi/8) q[10];
u1(pi/4) q[12];
cx q[12],q[11];
u1(-pi/4) q[11];
cx q[12],q[11];
u1(pi/4) q[11];
h q[12];
u1(pi/16384) q[13];
cx q[13],q[0];
u1(-pi/16384) q[0];
cx q[13],q[0];
u1(pi/16384) q[0];
u1(pi/8192) q[13];
cx q[13],q[1];
u1(-pi/8192) q[1];
cx q[13],q[1];
u1(pi/8192) q[1];
u1(pi/4096) q[13];
cx q[13],q[2];
u1(-pi/4096) q[2];
cx q[13],q[2];
u1(pi/4096) q[2];
u1(pi/2048) q[13];
cx q[13],q[3];
u1(-pi/2048) q[3];
cx q[13],q[3];
u1(pi/2048) q[3];
u1(pi/1024) q[13];
cx q[13],q[4];
u1(-pi/1024) q[4];
cx q[13],q[4];
u1(pi/1024) q[4];
u1(pi/512) q[13];
cx q[13],q[5];
u1(-pi/512) q[5];
cx q[13],q[5];
u1(pi/512) q[5];
u1(pi/256) q[13];
cx q[13],q[6];
u1(-pi/256) q[6];
cx q[13],q[6];
u1(pi/256) q[6];
u1(pi/128) q[13];
cx q[13],q[7];
u1(-pi/128) q[7];
cx q[13],q[7];
u1(pi/128) q[7];
u1(pi/64) q[13];
cx q[13],q[8];
u1(-pi/64) q[8];
cx q[13],q[8];
u1(pi/64) q[8];
u1(pi/32) q[13];
cx q[13],q[9];
u1(-pi/32) q[9];
cx q[13],q[9];
u1(pi/32) q[9];
u1(pi/16) q[13];
cx q[13],q[10];
u1(-pi/16) q[10];
cx q[13],q[10];
u1(pi/16) q[10];
u1(pi/8) q[13];
cx q[13],q[11];
u1(-pi/8) q[11];
cx q[13],q[11];
u1(pi/8) q[11];
u1(pi/4) q[13];
cx q[13],q[12];
u1(-pi/4) q[12];
cx q[13],q[12];
u1(pi/4) q[12];
h q[13];
u1(pi/32768) q[14];
cx q[14],q[0];
u1(-pi/32768) q[0];
cx q[14],q[0];
u1(pi/32768) q[0];
u1(pi/16384) q[14];
cx q[14],q[1];
u1(-pi/16384) q[1];
cx q[14],q[1];
u1(pi/16384) q[1];
u1(pi/8192) q[14];
cx q[14],q[2];
u1(-pi/8192) q[2];
cx q[14],q[2];
u1(pi/8192) q[2];
u1(pi/4096) q[14];
cx q[14],q[3];
u1(-pi/4096) q[3];
cx q[14],q[3];
u1(pi/4096) q[3];
u1(pi/2048) q[14];
cx q[14],q[4];
u1(-pi/2048) q[4];
cx q[14],q[4];
u1(pi/2048) q[4];
u1(pi/1024) q[14];
cx q[14],q[5];
u1(-pi/1024) q[5];
cx q[14],q[5];
u1(pi/1024) q[5];
u1(pi/512) q[14];
cx q[14],q[6];
u1(-pi/512) q[6];
cx q[14],q[6];
u1(pi/512) q[6];
u1(pi/256) q[14];
cx q[14],q[7];
u1(-pi/256) q[7];
cx q[14],q[7];
u1(pi/256) q[7];
u1(pi/128) q[14];
cx q[14],q[8];
u1(-pi/128) q[8];
cx q[14],q[8];
u1(pi/128) q[8];
u1(pi/64) q[14];
cx q[14],q[9];
u1(-pi/64) q[9];
cx q[14],q[9];
u1(pi/64) q[9];
u1(pi/32) q[14];
cx q[14],q[10];
u1(-pi/32) q[10];
cx q[14],q[10];
u1(pi/32) q[10];
u1(pi/16) q[14];
cx q[14],q[11];
u1(-pi/16) q[11];
cx q[14],q[11];
u1(pi/16) q[11];
u1(pi/8) q[14];
cx q[14],q[12];
u1(-pi/8) q[12];
cx q[14],q[12];
u1(pi/8) q[12];
u1(pi/4) q[14];
cx q[14],q[13];
u1(-pi/4) q[13];
cx q[14],q[13];
u1(pi/4) q[13];
h q[14];
u1(pi/65536) q[15];
cx q[15],q[0];
u1(-pi/65536) q[0];
cx q[15],q[0];
u1(pi/65536) q[0];
u1(pi/32768) q[15];
cx q[15],q[1];
u1(-pi/32768) q[1];
cx q[15],q[1];
u1(pi/32768) q[1];
u1(pi/16384) q[15];
cx q[15],q[2];
u1(-pi/16384) q[2];
cx q[15],q[2];
u1(pi/16384) q[2];
u1(pi/8192) q[15];
cx q[15],q[3];
u1(-pi/8192) q[3];
cx q[15],q[3];
u1(pi/8192) q[3];
u1(pi/4096) q[15];
cx q[15],q[4];
u1(-pi/4096) q[4];
cx q[15],q[4];
u1(pi/4096) q[4];
u1(pi/2048) q[15];
cx q[15],q[5];
u1(-pi/2048) q[5];
cx q[15],q[5];
u1(pi/2048) q[5];
u1(pi/1024) q[15];
cx q[15],q[6];
u1(-pi/1024) q[6];
cx q[15],q[6];
u1(pi/1024) q[6];
u1(pi/512) q[15];
cx q[15],q[7];
u1(-pi/512) q[7];
cx q[15],q[7];
u1(pi/512) q[7];
u1(pi/256) q[15];
cx q[15],q[8];
u1(-pi/256) q[8];
cx q[15],q[8];
u1(pi/256) q[8];
u1(pi/128) q[15];
cx q[15],q[9];
u1(-pi/128) q[9];
cx q[15],q[9];
u1(pi/128) q[9];
u1(pi/64) q[15];
cx q[15],q[10];
u1(-pi/64) q[10];
cx q[15],q[10];
u1(pi/64) q[10];
u1(pi/32) q[15];
cx q[15],q[11];
u1(-pi/32) q[11];
cx q[15],q[11];
u1(pi/32) q[11];
u1(pi/16) q[15];
cx q[15],q[12];
u1(-pi/16) q[12];
cx q[15],q[12];
u1(pi/16) q[12];
u1(pi/8) q[15];
cx q[15],q[13];
u1(-pi/8) q[13];
cx q[15],q[13];
u1(pi/8) q[13];
u1(pi/4) q[15];
cx q[15],q[14];
u1(-pi/4) q[14];
cx q[15],q[14];
u1(pi/4) q[14];
h q[15];
u1(pi/131072) q[16];
cx q[16],q[0];
u1(-pi/131072) q[0];
cx q[16],q[0];
u1(pi/131072) q[0];
u1(pi/65536) q[16];
cx q[16],q[1];
u1(-pi/65536) q[1];
cx q[16],q[1];
u1(pi/65536) q[1];
u1(pi/32768) q[16];
cx q[16],q[2];
u1(-pi/32768) q[2];
cx q[16],q[2];
u1(pi/32768) q[2];
u1(pi/16384) q[16];
cx q[16],q[3];
u1(-pi/16384) q[3];
cx q[16],q[3];
u1(pi/16384) q[3];
u1(pi/8192) q[16];
cx q[16],q[4];
u1(-pi/8192) q[4];
cx q[16],q[4];
u1(pi/8192) q[4];
u1(pi/4096) q[16];
cx q[16],q[5];
u1(-pi/4096) q[5];
cx q[16],q[5];
u1(pi/4096) q[5];
u1(pi/2048) q[16];
cx q[16],q[6];
u1(-pi/2048) q[6];
cx q[16],q[6];
u1(pi/2048) q[6];
u1(pi/1024) q[16];
cx q[16],q[7];
u1(-pi/1024) q[7];
cx q[16],q[7];
u1(pi/1024) q[7];
u1(pi/512) q[16];
cx q[16],q[8];
u1(-pi/512) q[8];
cx q[16],q[8];
u1(pi/512) q[8];
u1(pi/256) q[16];
cx q[16],q[9];
u1(-pi/256) q[9];
cx q[16],q[9];
u1(pi/256) q[9];
u1(pi/128) q[16];
cx q[16],q[10];
u1(-pi/128) q[10];
cx q[16],q[10];
u1(pi/128) q[10];
u1(pi/64) q[16];
cx q[16],q[11];
u1(-pi/64) q[11];
cx q[16],q[11];
u1(pi/64) q[11];
u1(pi/32) q[16];
cx q[16],q[12];
u1(-pi/32) q[12];
cx q[16],q[12];
u1(pi/32) q[12];
u1(pi/16) q[16];
cx q[16],q[13];
u1(-pi/16) q[13];
cx q[16],q[13];
u1(pi/16) q[13];
u1(pi/8) q[16];
cx q[16],q[14];
u1(-pi/8) q[14];
cx q[16],q[14];
u1(pi/8) q[14];
u1(pi/4) q[16];
cx q[16],q[15];
u1(-pi/4) q[15];
cx q[16],q[15];
u1(pi/4) q[15];
h q[16];
u1(pi/262144) q[17];
cx q[17],q[0];
u1(-pi/262144) q[0];
cx q[17],q[0];
u1(pi/262144) q[0];
u1(pi/131072) q[17];
cx q[17],q[1];
u1(-pi/131072) q[1];
cx q[17],q[1];
u1(pi/131072) q[1];
u1(pi/65536) q[17];
cx q[17],q[2];
u1(-pi/65536) q[2];
cx q[17],q[2];
u1(pi/65536) q[2];
u1(pi/32768) q[17];
cx q[17],q[3];
u1(-pi/32768) q[3];
cx q[17],q[3];
u1(pi/32768) q[3];
u1(pi/16384) q[17];
cx q[17],q[4];
u1(-pi/16384) q[4];
cx q[17],q[4];
u1(pi/16384) q[4];
u1(pi/8192) q[17];
cx q[17],q[5];
u1(-pi/8192) q[5];
cx q[17],q[5];
u1(pi/8192) q[5];
u1(pi/4096) q[17];
cx q[17],q[6];
u1(-pi/4096) q[6];
cx q[17],q[6];
u1(pi/4096) q[6];
u1(pi/2048) q[17];
cx q[17],q[7];
u1(-pi/2048) q[7];
cx q[17],q[7];
u1(pi/2048) q[7];
u1(pi/1024) q[17];
cx q[17],q[8];
u1(-pi/1024) q[8];
cx q[17],q[8];
u1(pi/1024) q[8];
u1(pi/512) q[17];
cx q[17],q[9];
u1(-pi/512) q[9];
cx q[17],q[9];
u1(pi/512) q[9];
u1(pi/256) q[17];
cx q[17],q[10];
u1(-pi/256) q[10];
cx q[17],q[10];
u1(pi/256) q[10];
u1(pi/128) q[17];
cx q[17],q[11];
u1(-pi/128) q[11];
cx q[17],q[11];
u1(pi/128) q[11];
u1(pi/64) q[17];
cx q[17],q[12];
u1(-pi/64) q[12];
cx q[17],q[12];
u1(pi/64) q[12];
u1(pi/32) q[17];
cx q[17],q[13];
u1(-pi/32) q[13];
cx q[17],q[13];
u1(pi/32) q[13];
u1(pi/16) q[17];
cx q[17],q[14];
u1(-pi/16) q[14];
cx q[17],q[14];
u1(pi/16) q[14];
u1(pi/8) q[17];
cx q[17],q[15];
u1(-pi/8) q[15];
cx q[17],q[15];
u1(pi/8) q[15];
u1(pi/4) q[17];
cx q[17],q[16];
u1(-pi/4) q[16];
cx q[17],q[16];
u1(pi/4) q[16];
h q[17];
barrier q[0],q[1],q[2],q[3],q[4],q[5],q[6],q[7],q[8],q[9],q[10],q[11],q[12],q[13],q[14],q[15],q[16],q[17];
measure q[0] -> meas[0];
measure q[1] -> meas[1];
measure q[2] -> meas[2];
measure q[3] -> meas[3];
measure q[4] -> meas[4];
measure q[5] -> meas[5];
measure q[6] -> meas[6];
measure q[7] -> meas[7];
measure q[8] -> meas[8];
measure q[9] -> meas[9];
measure q[10] -> meas[10];
measure q[11] -> meas[11];
measure q[12] -> meas[12];
measure q[13] -> meas[13];
measure q[14] -> meas[14];
measure q[15] -> meas[15];
measure q[16] -> meas[16];
measure q[17] -> meas[17];
